<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN"><link href="stylesheet.css" media="all" rel="stylesheet" type="text/css">
<title>GIN 提示与技巧</title>
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head><body class="SECT1">
<div>
<table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><th colspan="5" align="center" valign="bottom">PostgreSQL 8.2.3 中文文档</th></tr>
<tr><td width="10%" align="left" valign="top"><a href="gin-implementation.html" accesskey="P">后退</a></td><td width="10%" align="left" valign="top"><a href="gin.html">快退</a></td><td width="60%" align="center" valign="bottom">章51. GIN 索引</td><td width="10%" align="right" valign="top"><a href="gin.html">快进</a></td><td width="10%" align="right" valign="top"><a href="gin-limit.html" accesskey="N">前进</a></td></tr>
</table>
<hr align="LEFT" width="100%"></div>
<div class="SECT1"><h1 class="SECT1"><a name="GIN-TIPS">51.4. GIN 提示与技巧</a></h1>
<div class="VARIABLELIST">
<dl>
<dt>创建 vs 插入</dt>
<dd><p>在大多数情况下，因为需要为每个值插入多个相似的 key 的原因，向 GIN 索引插入是慢速操作。对于向表中大量插入的操作，我们建议先删除 GIN 索引，在完成插入之后在重建它。</p></dd>
<dt><a href="runtime-config-client.html#GUC-GIN-FUZZY-SEARCH-LIMIT">gin_fuzzy_search_limit</a></dt>
<dd><p>开发 GIN 索引的主要目的是为了让 PostgreSQL 支持高度可升级的全文索引，并且常常会遇见全文索引返回海量结果的情形。此外，在查询高频词的时候得到的结果集没什么用处。因为从磁盘读取大量记录并对其进行排序会消耗大量资源，这在产品环境下是不能接受的(注意，索引搜索本身是很快的)。</p>
<p>为了易于控制这种情况，GIN 有一个可配置的结果集大小软上限配置参数 <tt class="VARNAME">gin_fuzzy_search_limit</tt> 。缺省值 0 表示没有限制。如果设置了非零值，那么返回的结果就是从完整结果集中随机选择的一部分。</p>
<p>"软"的意识是实际返回的结果集大小可能与指定值稍有出入，具体取决于查询和系统的随机数发生器。</p></dd>
</dl>
</div>
</div>
<div>
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td width="33%" align="left" valign="top"><a href="gin-implementation.html" accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">首页</a></td><td width="33%" align="right" valign="top"><a href="gin-limit.html" accesskey="N">前进</a></td></tr>
<tr><td width="33%" align="left" valign="top">实现</td><td width="34%" align="center" valign="top"><a href="gin.html" accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">局限性</td></tr>
</table>
</div>
</body></html>